[][src]Crate chunky

This crate offers an abstraction over allocating fixed-size chunks of memory and different low-level collection types making use of these chunks to emulate "infinite" dynamically growing storages for heterogeneously-sized items.

Its purpose is being able to abstract storage of entity-collections (such as actors in Kay) over both temporary heap memory and persistent mmap'ed memory used for both runtime and savegames.

Structs

Arena

Stores items of a fixed (max) size consecutively in a collection of chunks

ArenaIndex

Refers to an item within an Arena

Chunk

A Chunk of general purpose memory, essentially acting as &mut u8 which can be backed by different ChunkStorage providers. Dropping a Chunk deallocates its in-memory space but keeps any persisted version of that chunk.

HeapStorage

A ChunkStorage that allocates chunks on the heap

Ident

Identifies a chunk or chunk group uniquely

MultiArena

Based on a collection type for fixed-size items ("Bin"), creates a collection for heterogenously-sized items which will be stored in the most appropriately-sized bin.

MultiArenaIndex

Refers to an item in a MultiArena

Queue

A FIFO queue which stores heterogeneously sized items

Value

A single value stored in a chunk

Vector

A vector which stores items of a known type in an Arena

Traits

ChunkStorage

A provider of backing storage for Chunks